﻿using System.Collections.Generic;

namespace ATSIDAL
{
    /// <summary>
    /// class 表示T必须是引用类型（引用类型约束）
    /// new() 表示T必须有一个无参的构造函数（构造函数约束）
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public interface IBaseRepository<T> where T : class, new()
    {
        void Insert(T Entity);
        void Update(T Entity);
        void Delete<T1>(T1 Id);
        //T1 may be <int> or <string> or <object>
        T LoadEntity<T1>(T1 Id);
        IList<T> LoadEntities();
    }
}
